home *** CD-ROM | disk | FTP | other *** search
/ Everything For A Hacker / 19990506-[HACK].iso / HEXEDIT / CROSSASM / PS96A12.ARJ / MNEMTEST.ASM < prev    next >
Assembly Source File  |  1987-03-09  |  6KB  |  273 lines

  1.          .org 0
  2.           ;test all 8096 opcodes in all configurations
  3.          add op1,op2
  4.          add op1,op2,op3
  5.          add op1,far2
  6.          add op1,op2,far3
  7.          addb op1,op2
  8.          addb op1,op2,op3
  9.          addb op1,far2
  10.          addb op1,op2,far3
  11.          add op1,#h'00
  12.          add op1,op2,#h'ff
  13.          add op1,far2
  14.          add op1,op2,far3
  15.          addb op1,#h'00
  16.          addb op1,op2,#h'ff
  17.          addb op1,far2
  18.          addb op1,op2,far3
  19.          lcall longtest
  20.          ljmp longtest
  21.          sjmp sj0
  22.          sjmp sj1
  23.          sjmp sj2
  24.          sjmp sj3
  25.          sjmp sj4
  26.          add op1,[op1]
  27.          add op1,op2,op2[op1]
  28.          add op1,op2,-128[op1]
  29.          addb op1,op2,127[op1]
  30.          add op1,far5
  31.          add op1,op2,far3
  32.          addb op1,[op1]+
  33.          addb op1,op2,op2[op1]
  34.          addb op1,far5
  35.          addb op1,op2,far3
  36.          push op1
  37.          pop op1
  38.          .equ op1,32
  39.          .equ op2,128
  40.          .equ op3,132
  41.          .equ far2,1024
  42.          .equ far3,2048
  43.          add op1,op2
  44.          add op1,op2,op3
  45.          add op1,far2
  46.          add op1,op2,far3
  47.          addb op1,op2
  48.          addb op1,op2,op3
  49.          addb op1,far2
  50.          addb op1,op2,far3
  51.          addc op1,op2
  52.          addcb op1,op2
  53.          sub  op1,op2
  54.          sub  op1,op2,op3
  55.          subb  op1,op2
  56.          subb  op1,op2,op3
  57.          subc  op1,op2
  58.          subcb op1,op2
  59.          cmp  op1,op2
  60.          cmpb  op1,op2
  61.          mulu op1,op2
  62.          mulu op1,op2,op3
  63.          mulub op1,op2
  64.          mulub op1,op2,op3
  65.          mul op1,op2
  66.          mul op1,op2,op3
  67.          mulb op1,op2
  68.          mulb op1,op2,op3
  69.          divu op1,op2
  70.          divub op1,op2
  71.          div op1,op2
  72.          divb op1,op2
  73.          and op1,op2
  74.          and op1,op2,op3
  75.          andb op1,op2
  76.          andb op1,op2,op3
  77.          or op1,op2
  78.          orb op1,op2
  79.          xor op1,op2
  80.          xorb op1,op2
  81.          ld op1,op2
  82.          ldb op1,op2
  83.          ld op1,#h'00
  84.          ld op1,#h'ff
  85.          ld op1,#h'00ff
  86.          ldb op1,#00
  87.          ldb op1,#h'ff
  88.          st op1,op2
  89.          stb op1,op2
  90.          ldbse op1,op2
  91.          ldbze op1,op2
  92.          push op1
  93.          pop op1
  94.          pushf
  95.          popf
  96.          ljmp longtest
  97. stest:   sjmp stest
  98.          indjmp op1
  99.          lcall longtest
  100.          scall stest
  101.          ret
  102.          djnz op1,rtest
  103.          jc rtest
  104.          jnc rtest
  105. rtest:   jh rtest
  106.          jnh rtest
  107.          je rtest
  108.          jne rtest
  109.          jv rtest
  110.          jnv rtest
  111.          jge rtest
  112.          jlt rtest
  113.          jvt rtest
  114.          jnvt rtest
  115.          jgt rtest
  116.          jle rtest
  117.          jst rtest
  118.          jnst rtest
  119.          jbc op1,0,rtest
  120.          jbs op1,7,rtest
  121.          djnz op27,rtest
  122.          .equ op27,46
  123.          dec op1
  124.          decb op1
  125.          neg op1
  126.          negb op1
  127.          inc op1
  128.          incb op1
  129.          ext op1
  130.          extb op1
  131.          not op1
  132.          notb op1
  133.          clr op1
  134.          clrb op1
  135.          shl op1,0
  136.          shl op1,15
  137.          shl op1,op1
  138.          shr op1,0
  139.          shra op1,0
  140.          shlb op1,0
  141.          shrb op1,0
  142.          shrab op1,0
  143.          shll op1,0
  144.          shrl op1,0
  145.          shral op1,0
  146.          setc
  147.          clrc
  148.          clrvt
  149.          rst
  150.          di
  151.          ei
  152.          nop
  153.          skip op1
  154. synct1:  norml op1,op2
  155.  
  156.          add op1,#h'00
  157.          add op1,op2,#h'ff
  158.          add op1,far2
  159.          add op1,op2,far3
  160.          addb op1,#h'00
  161.          addb op1,op2,#h'ff
  162.          addb op1,far2
  163.          addb op1,op2,far3
  164.          addc op1,#h'00
  165.          sub  op1,#h'00
  166.          sub  op1,op2,#h'ff
  167.          subb  op1,#h'00
  168.          subb  op1,op2,#h'ff
  169.          subc  op1,#h'00
  170.          subcb op1,#h'00
  171.          cmp  op1,#h'00
  172.          cmpb  op1,#h'00
  173.          mulu op1,#h'00
  174.          mulu op1,op2,#h'ff
  175.          mulub op1,#h'00
  176.          mulub op1,op2,#h'ff
  177.          mul op1,#h'00
  178.          mul op1,op2,#h'ff
  179.          mulb op1,#h'00
  180.          mulb op1,op2,#h'ff
  181.          divu op1,#h'00
  182.          divub op1,#h'00
  183.          div op1,#h'00
  184.          divb op1,#h'00
  185.          and op1,#h'00
  186.          and op1,op2,#h'ff
  187.          andb op1,#h'00
  188.          andb op1,op2,#h'ff
  189.          orb op1,#h'00
  190.          orb op1,#h'00
  191.          xorb op1,#h'00
  192.          xorb op1,#h'00
  193.          ld op1,#h'00
  194.          ldb op1,#h'00
  195.          ld op1,#h'00
  196.          ld op1,#h'ff
  197.          ld op1,#h'00ff
  198.          ldb op1,#00
  199.          ldb op1,#h'ff
  200.          ldbse op1,#h'ff
  201.          ldbze op1,#h'00
  202.          push #h'00
  203. synct2:  norml op1,48
  204.  
  205.          add op1,[op1]
  206.          add op1,op2,op2[op1]
  207.          add op1,op2,-128[op1]
  208.          addb op1,op2,127[op1]
  209.          add op1,far5
  210.          add op1,op2,far3
  211.          addb op1,[op1]+
  212.          addb op1,op2,op2[op1]
  213.          addb op1,far5
  214.          addb op1,op2,far3
  215.          addc op1,[op1]
  216.          sub  op1,[op1]+
  217.          sub  op1,op2,op2[op1]
  218.          subb  op1,[op1]
  219.          subb  op1,op2,op2[op1]
  220.          subc  op1,[op1]
  221.          subcb op1,[op1]
  222.          cmp  op1,[op1]
  223.          cmpb  op1,[op1]
  224.          mulu op1,[op1]
  225.          mulu op1,op2,op2[op1]
  226.          mulub op1,[op1]
  227.          mulub op1,op2,op2[op1]
  228.          mul op1,[op1]
  229.          mul op1,op2,op2[op1]
  230.          mulb op1,[op1]
  231.          mulb op1,op2,op2[op1]
  232.          divu op1,[op1]
  233.          divub op1,[op1]
  234.          div op1,[op1]
  235.          divb op1,[op1]
  236.          and op1,[op1]
  237.          and op1,op2,op2[op1]
  238.          andb op1,[op1]
  239.          andb op1,op2,op2[op1]
  240.          orb op1,[op1]
  241.          orb op1,[op1]
  242.          xorb op1,[op1]
  243.          xorb op1,[op1]
  244.          ld op1,[op1]
  245.          ldb op1,[op1]
  246.          ld op1,[op1]
  247.          ld op1,op2[op1]
  248.          ld op1,[op1]
  249.          ldb op1,#00
  250.          ldb op1,op2[op1]
  251.          st op1,[op1]+
  252.          stb op1,[op1]+
  253.          ldbse op1,[op2]
  254.          ldbze op2,[op1]
  255.          push [op1]
  256.          pop [op1]
  257. synctst:
  258. farloop: .equ forward1,h'ff
  259. far5:    .equ forward2,h'00
  260. sj0:     .org h'0000
  261. sj1:     .org h'0100
  262. sj2:     .org h'0200
  263. sj3:     .org h'0300
  264. sj4:     .org h'0400
  265.          sjmp sj1
  266.          sjmp sj2
  267.          sjmp sj3
  268.          sjmp sj4
  269.          sjmp *-1022
  270.          sjmp *+1025
  271.  
  272. longtest:.end
  273.